Die Qualität der jeder Webseite zugrundeliegende Server-Infrastruktur bildet einen wichtigen Grundstein für jedes Internet-Projekt und trägt entscheidend zum Erfolg eines Internet-Unternehmens bei. Neben der Geschwindigkeit, Sicherheit und Stabilität ist die Flexibilität und Skalierbarkeit ein wichtiger Baustein zur perfekten Serverlandschaft. Optimale Skalierbarkeit und Flexibilität bietet das seit einigen Jahren unter dem Namen „Cloud-Hosting“ bekannt gewordene Modell des Server-Hostings.
For our Web Analytics Tool Stetic we are always looking for new flexible hosting solutions and just found Google’s Compute Engine as the perfect place for our needs. On Google Compute Engine you can launch virtual machines on Google’s infrastructure with great performance, high flexibility, strong security and a good price/performance ratio. The biggest advantage is the possibility to scale your systems whenever you need. From our point of view and compared to other cloud computing competitors Google has also the most user-friendly interface and a great set of tools to get you started easily.
Wer viel mit Ruby und Ruby on Rails arbeitet, kommt an Rubygems nicht vorbei. Was PEAR und Pecl für PHP und CPAN für Perl ist, ist Rubygems für Ruby: ein Paketsystem zum Installieren und Verwalten von Ruby-Modulen (Software, Librarys und Bibliotheken). Da es in Ruby für fast alles eine Library gibt und man sich mit Hilfe einer solchen Library viel Arbeit ersparen kann, kommt mit der Zeit eine ganz schöne Liste von installierten GEM’s zusammen, die bei komplexen Anwendungen durchaus auch mal dreistellig werden kann. Möchte man die Anwendung oder gleich mehrere nun auf einen neuen oder anderen Server installieren, müsste man entweder per Rake oder Bundler die Abhängigkeiten jeder einzelnen Rails-Anwendung auflösen oder jedes GEM einzeln per Hand installieren. Letzteres fällt bei einer großen Anzahl von GEM’s jedoch flach und wäre zu viel Aufwand. Abhilfe schafft hier ein kleines Perl-Script, welches alle installierten Pakete inklusive aller Versionen durchgeht und pro Version eine Install-Anweisung ausgibt.
In der letzten Zeit sind mir viele neue und nützliche Tools aufgefallen, die man als Webentwickler und Webdesigner bei der täglichen Arbeit gut gebrauchen kann und die einem diese um einiges erleichtern. Ich möchte mich mit dieser Liste bei den Entwicklern der Tools bedanken und jedes einzelne natürlich vorstellen und weiterempfehlen. Wirklich interessant, was mittlerweile alles möglich ist und welche Ideen die Entwickler dieser Tools haben. Aber legen wir los mit der Liste der 15 nützlichen Tools für Webdesigner und Webentwickler. Es sind sowohl neue als auch schon länger bestehende dabei:
Das der nginx-Webserver schneller und performanter als z.B. der Apache ist, hatte ich in meinem letzten Blogbeitrag zur Installation und Konfiguration von nginx bereits geschrieben. Wenn WordPress oder PHP auf dem Apache mit mod_php generell zu langsam werden, macht auch hier die Überlegung Sinn, auf einen anderen Webserver umzusteigen. In Sachen Performance und Performance-Optimierung nicht nur für WordPress und PHP ist nginx aktuell die erste Wahl. Bei den meisten Installationen unter Apache läuft PHP als Modul. Das heisst, für das Ausführen von PHP muß kein neuer Prozess gestartet werden, sondern die Verarbeitung bzw. Parsen der PHP-Dateien übernimmt das beim Start des Apachen geladene PHP-Modul. Für nginx gibt es solch ein Modul nicht, weshalb wir auf die CGI-Version von PHP zurückgreifen müssen. Dies ist nicht weiter tragisch, da die Performance – eine halbwegs schnelle CPU vorausgesetzt – aus Erfahrung nicht darunter leidet. Doch wie konfiguriert man nginx, um ihn für das Ausliefern von dynamischen PHP-Scripts vorzubereiten?
Der Apache-Webserver ist das Non Plus Ultra in Sachen Webserver-Software. Seit mehr als 15 Jahren führt der Platzhirsch die Liste der meist genutzen Webserver an. Aktuell, im Februar 2011, werden bei Netcraft 171,195,554 Hostnamen mit Installationen des Apachen gemessen. Das sind 60.10% aller Webserver-Installationen weltweit. Marktanteile Top-Server über alle Domains Aug. 1995 – Feb. 2011. Quelle: netcraft.com Seine weite Verbreitung, immerhin ist der Apache fast bei jedem Betriebssystem außer Windows dabei, die Anzahl der erhältlichen Erweiterungen und Module und die relativ leichte Konfiguration, auch in Massenhosting-Umgebungen, machen den Apache auch für Einsteiger zu einem Webserver der ersten Wahl. Wer jedoch mit viel Traffic zu tun hat und dabei eine serverseitige Skriptsprache wie PHP, Perl, Ruby oder ähnliches einsetzt, wird mit dem Apachen früher oder später an seine Grenzen stossen. Es ist mit Hilfe von Reduzierung auf wesentliche Module, Performance-Tuning und Tuning des Linux Systems natürlich sehr viel raus zu holen, doch irgendwann steht die Frage nach einer Alternative im Raum.
Für alle, die auf einem Samsung Netbook die Linux Distribution Ubuntu , genauer die Ubuntu Netbook Edition, installieren möchten, hier eine Kurzübersicht mit den einzelnen Installationsschritten. Die Schwierigkeit ist bei Netbooks, das kein CD-ROM Laufwerk vorhanden ist. Durch bootfähige USB-Sticks allerdings kein Thema. Bei meinem Samsung N210 Plus hat dies wunderbar und gleich beim ersten Versuch geklappt. Ich muß sagen, Windows 7 durch Ubuntu zu ersetzen, war eine sehr gute Entscheidung. Auch wenn es bei mir aktuell noch das ein oder andere Problem mit der Bedienung von Ubuntu gibt, da ich Windows und Mac OS gewohnt bin, ist Ubuntu sehr [...]
Da drüben macht sich Robert gerade nackig und erzählt uns, welche WordPress-Plugins er als Must Have’s erachtet und man unbedingt in seinem WordPress-Blog installiert haben sollte. Natürlich gibt es solche Listen schon wie Sand am Meer , ist mir aber egal, ich finde solche Listen nämlich super interessant, da man hier das ein oder andere Plugin entdeckt, welches man selbst noch nicht installiert oder entdeckt hat. Zum anderen ist bei Roberts Erfahrung natürlich interessant zu sehen was er so bevorzugt. Das Plugin Gurken Subscribe to Comments hab ich mir zum Beispiel schon mal installiert, danke! Deshalb zieh ich hier auch [...]
Oft kommt es vor, dass man zwei oder mehrere Elemente nebeneinander in gleicher Höhe darstellen möchte. Das stellt bei statischen Inhalten überhaupt kein Problem dar, gibt es doch die schöne CSS -Eigenschaft height . Was aber, wenn wir dynamische Inhalte – beispielsweisse Texte aus einer Datenbank – verwenden und vorher gar nicht wissen, wieviel Inhalt jedes einzelne Element enthält? Durch den unterschiedlich langen Inhalt werden die Elemente jeweils auch unterschiedlich hoch dargestellt, was in den meisten Fällen unschön aussieht. Hier kann das Javascript -Framework jQuery helfen. jQuery bietet eine Funktion mit dem Namen .height() , die uns die Höhe eines Elements setzen oder auslesen kann. Hier wird nicht einfach die CSS-Eigenschaft height ausgelesen, sondern die fertig gerenderte Höhe des Elements. So braucht man mit jQuery nicht viel Mühe, um alle gewünschten Elemente zu durchlaufen, das höchste zu bestimmen und alle Elemente auf eben diese Höhe anzupassen.
Oft kommt es als Webmaster vor, das man eine Liste mit URL’s auf Fehler prüfen muß. Um zum Beispiel eine Liste mit URL’s auf tote Links bzw. 404 Not Found Fehler zu prüfen, kann man folgendes in Ruby geschriebene Script zu Hilfe nehmen. Das Script fällt in die Kategorie Quick Hack und ist unbedingt ausbaufähig. require 'net/http' def check_for_notfound(url) uri = URI.parse(url) response = Net::HTTP.get_response(uri) case response when Net::HTTPNotFound: return true when Net::HTTPRedirection: puts check_for_notfound('http://' + uri.host + response['location']) else return nil end end File.open(ARGV[0]) do |f| f.each do |line| result = check_for_notfound(line) if !result.nil? and result == true puts [...]